Reconstruction of clipped signals

ABSTRACT

Using information contained in clipped samples from aualog-to-digital (ADC) conversion to improve receiver performance, by, for example, reducing the clipping distortion caused by ADCs due to its data resolution constraints. This provides an advantage over existing solutions, which perform suboptimally because the existing solution discard information in tire clipped samples.

TECHNICAL FIELD

Disclosed are embodiments related to the reconstruction of clipped signals, including the reconstruction of clipped signals in a massive multiple-input multiple-output (MIMO) system.

BACKGROUND

Clipping is a form of distortion that limits the values of a signal that lie above or below certain threshold. In practice, Clipping may be necessary due to system limitations (e.g., to avoid over modulating an audio transmitter). In discrete systems, it can be caused unintentionally due to data resolution constraints, such as when a sample exceeds the maximum value that can be represented, or intentionally as when simulating a process in which signal values are constrained.

Clipping is a nonlinear operation and introduces frequency components not present in the original signal. In the digital domain, when the frequencies of these new components exceed the Nyquist limit, the components are reflected into the baseband, causing aliasing.

Massive MIMO systems is now a well-established technology that forms the backbone of the fifth-generation (5G) 3GPP mobile network. With massive MIMO, the number of antennas at a base station (BS) is scaled up by several orders of magnitude compared to conventional multi-antenna systems with the goals of enabling significant gains, such as higher capacity and energy efficiency.

In a conventional multiple antenna BS, each radio-frequency (RF) port is connected to a pair of high-resolution analog-to-digital converters (ADCs) (typically, the inphase and quadrature signal components are quantized with resolutions exceeding 10 bits). Scaling such architectures to massive MIMO with hundreds or thousands active antenna elements would result in prohibitively high-power consumption and hardware costs. The hardware complexity and power consumption of ADCs scales roughly exponentially in the number of quantization bits. Thus, an effective solution to keep the power consumption and system costs within desirable limits is to reduce the precision of ADCs (e.g. up to 8 bits). An additional motivation for reducing the resolution of the employed ADCs is to limit the amount of data that must be transferred over the link that connects the RF components (a.k.a., Radio Unit (RU)) and the baseband-processing unit (BBU), which may be located remote from the RU.

An ADC can be modeled as two processes: sampling and quantization. Sampling converts a continuous time-varying voltage signal into a discrete-time signal - - i.e., a sequence of real numbers. Quantization replaces each real number with an approximation from a finite set range of discrete values and performing clipping to limit the output to this range whenever the input exceeds the supported range. The error introduced by this clipping is referred to as overload distortion. Within the extreme limits of the supported range, the amount of spacing between the selectable output values of a quantizer is referred to as its granularity, and the error introduced by this spacing is referred to as granular distortion. It is common for the design of a quantizer to determine the proper balance between granular distortion and overload distortion. For a given supported number of possible output values, reducing the average granular distortion may involve increasing the average overload distortion, and vice versa.

SUMMARY

Certain challenges exist. For example, the overload distortion can severely affect the quality of a digital signal by corrupting the data it represents. Indeed, even a very low percentage of clipped samples result in a significant overload distortion. In multiuser MIMO (MU-MIMO) systems, overload distortion can cause inaccurate channel state information (CSI) and it deteriorates the data estimation at the BS and/or the user equipment (UEs) to which the BS provides network access.

This disclosure proposes to make use of information contained in the clipped samples from ADC conversion to improve the receiver performance, by, for example, reducing the clipping distortion caused by ADCs due to its data resolution constraints. This provides an advantage over existing solutions, which perform sub-optimally because the existing solution discard information in the clipped samples.

Accordingly, in one aspect there is provided a method for reconstructing the clipped samples and thus reducing the overload distortion by exploiting the correlation among the clipped and non-clipped samples. In one embodiment, the method includes receiving a signal y and sampling y, thereby producing a set of samples. The method further includes quantizing each sample in the set of samples to produce a quantized received signal r, wherein quantizing each sample in the set of samples comprises clipping at least M of the samples, wherein M>0, such that r comprises M clipped samples. The method also includes obtaining information denoting the clipped and non-clipped samples and using a probability density function of y and the information denoting the clipped and non-clipped samples to obtain a probability density function, G(x), of the unknown samples in y that have been clipped conditional on the quantized received vector r. The method further includes modifying r by, for each clipped sample value in r, replacing the clipped sample value with an expected value that corresponds to the clipped sample value, wherein the expected value is based on G(x), thereby producing a reconstructed received signal.

In another aspect there is provided a receiver apparatus being configured to: sample a received signal, y, thereby producing a set of samples; quantize each sample in the set of samples to produce a quantized received signal r, wherein quantizing each sample in the set of samples comprises clipping at least M of the samples, wherein M>0, such that r comprises M clipped samples; obtain information denoting the clipped and non-clipped samples; use a probability density function of y and the information denoting the clipped and non-clipped samples to obtain a probability density function, G(x), of the unknown samples in y that have been clipped conditional on the quantized received vector r; and modify r by, for each clipped sample value in r, replacing the clipped sample value with an expected value that corresponds to the clipped sample value, wherein the expected value is based on G(x), thereby producing a reconstructed received signal.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated herein and form part of the specification, illustrate various embodiments.

FIG. 1 illustrates a clipping-aware (CA) receiver according to an embodiment.

FIG. 2A is a graphical plot illustrating an improvement provided by a CA-MMSE receiver according to an embodiment.

FIG. 2B is a graphical plot illustrating an improvement provided by a CA-MMSE receiver according to an embodiment.

FIG. 3A is a graphical plot illustrating an improvement provided by a CA-MMSE receiver according to an embodiment.

FIG. 3B is a graphical plot illustrating an improvement provided by a CA-MMSE receiver according to an embodiment.

FIG. 4 is a flowchart illustrating a process according to an embodiment.

FIG. 5 is a flowchart illustrating a process according to an embodiment.

FIG. 6 is a block diagram of an apparatus according to an embodiment.

FIG. 7 is a schematic block diagram of an apparatus according to an embodiment.

DETAILED DESCRIPTION

FIG. 1 illustrates components of a minimum mean-squared error (MMSE) based clipping aware receiver 100 (CA-MMSE receiver 100). CA-MMSE receiver 100 includes a quantizer 102 that receives an input signal y and produces a quantized output r. Quantizer 102 (e.g., ADC) also outputs information (C) indicating which samples of y have been clipped. For example, the set C denotes the indices of the clipped elements of the received vector r. The set G denotes the indices of the non-clipped elements of the received vector r.

CA-MMSE receiver 100 also includes a reconstructor 104 that reconstructs the clipped samples

conditional on the quantized received vector r. For example, reconstructor 104 reconstructs the clipped samples

(

=

by replacing each clipped sample value in r with its corresponding expected value of

=

, given the observed received vectors

and

=

This approach is optimal, in the sense that it minimizes the mean-squared error between the unknown received signal

and its estimation

. Mathematically speaking:

=

{

}

CA-MMSE receiver 100 further includes a decoder 106 that decodes the information output by reconstructor 104—i.e., ŷ, where ŷ=[

].

1.1 System Model

Consider a single-cell MU-MIMO system, which includes a BS equipped with N antennas communicating with K single-antenna UEs, and assume that the BS and UEs are perfectly synchronized and operate a time division duplexing (TDD) protocol with universal frequency reuse. The Nx1 received vector at the BS is:

y=√ρHx+n

where H is the NxN matrix of small-scale channel coefficients between the K UEs and BS. Moreover, x is the Kx1 vector of independent, unit-power symbols transmitted simultaneously by the K UEs, with the average transmit power of each UE being ρ. Finally, n is the additive white Gaussian noise (AWGN)

1.2 Quantization of a complex-valued vector

The in-phase and quadrature components of the received signal at each antenna are quantized separately by an ADC of b-bit resolution. More precisely, we model the ADCs as symmetric uniform quantizers with step size Δ and each ADC is characterized by a set of L=2^(b) quantization levels

_(b)={l₁, . . . l_(L−1)} where

${l_{i} = {\Delta\left( {i - \frac{L - 1}{2}} \right)}},{i = 0},{{\ldots\mspace{14mu} L} - 1.}$

Moreover, we define a set of L+1 quantization thresholds

={τ₁, . . . , τ_(L−1)} such that ∞=τ_(o)<τ₁<. . . <τ_(L−1)<τ_(L)=∞ and

${\tau_{i} = {\Delta\left( {i - \frac{L}{2}} \right)}},{i = 1},{{\ldots\mspace{14mu} L} - 1}$

A practical technique for controlling the amplitude of the signal (or, equivalently, the quantization step size Δ) to achieve the appropriate balance between the granular and overload distortion is the use of automatic gain control (AGC). Next, we define the nonlinear quantizer-mapping function, which describes the joint operation of the 2N b-bit ADCs at the BS.

For convenience, we first define the Cartesian product

_(b)=L

_(b)×

_(b) and let y_(n) and r_(n) be the n-th element of the N×1 vectors y and r, respectively. Then, the quantizer-mapping function can be described by the function Q_(b)(·):

^(N)→

_(b) ^(N) that maps the received continuous-valued signal y to the quantized output r in the following way: if

{y_(n)}ϵ(τ_(k), τ_(k+1)] and

{y_(n)}ϵ(τ_(m), τ_(m+1)], then r_(n)=l_(k)+jl_(m). Thus, the quantized received signal r can be written as

$\begin{matrix} {r = {Q_{b}({Ay})}} \\ {= {Q_{b}\left( {{A\sqrt{\rho}{Hx}} + {An}} \right)}} \end{matrix}$

Where A is the NxN diagonal matrix of the automatic gain control (AGC) that scales the received signal y. Furthermore,

and

denote the real and imaginary part of the signal, respectively.

1.3 Augmented Real-valued Representation

Since ADCs quantize the real and imaginary parts (or the in-phase and quadrature components, respectively) of a signal separately, channel estimation and data detection should allow for processing the real and imaginary parts of received signals individually. Hence, it is convenient to transform the complex-valued problem (1) into an equivalent augmented real-valued representation using the following definitions:

$x_{R} = \begin{pmatrix} {\mathcal{R}\left\{ x \right\}} \\ {\mathcal{T}\left\{ x \right\}} \end{pmatrix}$ $n_{R} = \begin{pmatrix} {\mathcal{R}\left\{ n \right\}} \\ {\mathcal{T}\left\{ n \right\}} \end{pmatrix}$ $H_{R} = \begin{pmatrix} {\mathcal{R}\left\{ H \right\}} & {{- \mathcal{T}}\left\{ H \right\}} \\ {\mathcal{T}\left\{ H \right\}} & {\mathcal{R}\left\{ H \right\}} \end{pmatrix}$

Then the quantized signal can be written as

y _(R)=√ρ H _(R) x _(R)+n _(R)  (1)

To facilitate notation, for the rest of the document, we have used y, r and x to denote y_(R), r_(R) and x_(R) , respectively

We focus only on the reconstruction of the clipped samples of the quantized received signal r, while the samples that have not been clipped (i.e. within the granular region of the quantizer) are left unchanged after quantization. For notational convenience, we first define the following two sets of indices of the quantized received vector r, namely

and

:

={i∈{1, . . . , 2N}|r_(i)∈{l₀, l_(L−1)}}

={i∈{1, . . . 2N}|r_(i)∈{l₁, . . . , l_(L−2)}}

That is, the set

denotes the indices of the clipped elements of the received vector r while the indices in the set

indicate the elements of r that belongs to the granular region of the quantizer. Then, we define the vectors

=

,

=

,

=

and

=

. Notice that

and

represent the observed quantized received vectors of the clipped samples and the ones that lie within the granular region of the quantizer, respectively. On the other hand, the vectors

and

represent the unknown continuous signals which are quantized producing the vectors

and

, respectively.

Next, we introduce the proposed clipping restoration receiver which reconstructs only the clipped samples

conditional on the quantized received vector r. The proposed receiver reconstructs the clipped samples

by replacing each clipped sample value in r with its corresponding expected value of

, given the observed received vectors

and

. This approach is optimal, in the sense that it minimizes the mean-squared error between the unknown received signal

and its estimation

. Mathematically speaking we have the following receiver:

=

{

|

}  (2)

Thus, in determining the expectation in (2) we first require the posterior probability density function (p.d.f.) p(y_(c)

,

) (in FIG. 5, it is also denoted G(x), where x refers to the unknown continuous samples y_(c) conditional on r=

∪

) which yields the probability of all feasible values

observing the quantized vector r. Next, we give a more detailed description of the proposed receiver given the fact the received continuous signal follows a Gaussian distribution.

Assume that the m-th (m∈

) element of the vector r has been clipped. That is, it is r_(m)=l_(j) where j∈{0, L−1}. Moreover, let ŷ_(m) denotes estimated value (expectation) of the m-th unknown continuous sample y_(m) of the vector

. Thus, by the definition of the expectation in (2) we have:

ŷ _(m)=∫_(α′) ^(β′) y _(m) p(y _(C)

)dy _(C).  (3)

where the posterior p.d.f. p(

|

,

) is one-sided truncated normal distribution within the interval [α′ , β′]. Now, let α′_(m) and β′_(m) be the m-th elements of the vectors α′ and β′, respectively. Notice that the interval [α′_(m), β′_(m)] denotes the feasible range of the unknown continuous value y_(m) given its clipped observed sample and thus, its expected value is calculated within this interval. Conditional on the vector

, each component of the unknown

can be either (a) left truncated, i.e., α′_(m)=τ_(o)=−∞ and β′_(m)=τ₁ or (b) right truncated i.e., α′_(m)=τ_(L−1) and β′_(m)=∞.

It is worth mentioning that the elements of the received continuous vector are correlated and thus by observing

,

give us also information about the unknown clipped samples

. This correlation is captured by the co-variance matrix of the posterior p.d.f. in (3).

The integral in expression (3) cannot be evaluated in closed form, thus we can resort to numerical integration to implement the estimator. However, for large number of clipped samples it becomes impractical. Thus, next we provide a low-complexity iterative algorithm for the approximation of the mean E{y_(c)|r_(C), r_(G)} in (3). The algorithm relies on the expectation of M=|

| closed-form one-dimensional conditionals of the one-sided truncated normal distribution, where M denotes the cardinality of the clipped samples.

Specifically, the j-th iteration, of this procedure returns the vector

=[ŷ₁ ^((j)),ŷ₂ ^((j)), . . . , ŷ_(M) ^((j))] and it is described as follows:

ŷ₁ ^((j))=E{y₁|ŷ^((j−1)), ŷ₃ ^((j)), . . . ,ŷ_(M) ^((j),r})

ŷ₂ ^((j))=E{y_(M)|ŷ₂ ^((j)), ŷ₃ ^((j)), . . . , ŷ_(M−1) ^((j)), r}

ŷ₂ ^((j))=E{y_(M)|ŷ₂ ^((j)), ŷ₃ ^((j)), . . . , ŷ_(M−1) ^((j)),r}

This procedure is repeated iteratively until the quantity ||

−

||₁ is below a constant δ or the maximum number of iterations J has been exceeded. Next, we yield the closed-form expressions for the above expected values.

For notational convenience, we define the vector ŷ_(−i)≡[ŷ₁, . . . ,ŷ_(i−1), ŷ_(i+1), . . . , ŷ_(M)]where the i-th element of the vector

has been removed. Then, each expectation of the iterative algorithm is given by the following closed-form expression, which is the mean value for the univariate truncated normal distribution (see N.L. Johnson, S. Kotz, N. Balakrishnan, Continuous Univariate Distributions, 2^(nd) edition, Volume 1, 1994, Wiley):

$\begin{matrix} {{{{\mathbb{E}}\left\{ {y_{i}❘{\hat{y}}_{- i}} \right\}} = {\mu_{i} + {\sigma_{i}\frac{{\phi(\alpha)} - {\phi(\beta)}}{{\Phi(\beta)} - {\Phi(\alpha)}}}}}{{{where}\mspace{14mu}\alpha} = {{\frac{\tau_{i} - {\overset{\sim}{\mu}}_{i}}{{\overset{\sim}{\sigma}}_{ii}}\mspace{14mu}{and}\mspace{14mu}\beta} = {\frac{\tau_{i + 1} - {\overset{\sim}{\mu}}_{i}}{{\overset{\sim}{\sigma}}_{ii}}.}}}} & (4) \end{matrix}$

Moreover,

${\phi(x)} = {\frac{1}{\sqrt{2\pi}}e^{- \frac{x^{2}}{2}}}$

is the probability density function of the standard normal distribution

ϕ(x)=½erfc(−x/√2)

is its cumulative

distribution function and erfc(·) is the complementary error function. The parameters {tilde under (μ)}_(i) and {tilde under (σ)}_(ii) are given by the following formulas

{tilde under (μ)}_(i)=μ_(i)+σ_(−i) ^(T)Σ_(−i) ⁻¹(w_(−i)−μ_(−i))  (5)

{tilde under (σ)}_(ii)=σ_(ii)−σ_(i) ^(T)Σ_(−i−i) ⁻¹σ_(−i)  (6)

where the (N−1)×(N−1) matrix Σ_(−i−i) is formed by removing the i-th row and column from Σ, while the (N−1)×1 vector σ_(−i) is the i-th column of Σ after removing the i-th element. Furthermore the (N−1)×1 mean vector μ_(−i) results from μ after removing the i-th element. Furthermore, the variance σ_(ii) corresponds to the i-th diagonal element of the co-variance matrix Σ. Finally, the parameters μ and Σ are given by

μ=Σ₁₂Σ₂₂ ⁻¹r_(G)  (7)

Σ=Σ₁₁−Σ₁₂Σ₂₂ ⁻¹Σ₁₂ ^(H)  (8)

respectively, where Σ₁₁=E{y_(C)y_(C) ^(H)}, Σ₁₂=E{y_(C)Y_(G_hu H)} and Σ₂₂=E{y_(G)y_(G) ^(H)}.

Concerning the computational complexity, the iterative algorithm requires the evaluation of simple closed form formulas. The main computational burden is due to the calculation of the M inverse matrices appearing in (5) and (6).

The proposed algorithm is a deterministic approximation of the Gibbs sampler, where the randomly generated samples of the Gibbs sampler are replaced by the means of the corresponding conditional distributions. It is worth mentioning that deterministic approximations of the Gibbs sampler have also been used in the context of the semi-supervised hyperspectral unmixing problems (see, e.g., K. E. Themelis and A. A. Rontogiannis and K. D. Koutroumbas, “A Novel Hierarchical Bayesian Approach for Sparse Semisupervised Hyperspectral Unmixing”, IEEE Trans. Signal Process., vol. 60, no. 2, pp. 585-599, Feb. 2012).

The mapping in the expression (3) is a contraction in

with respect to the

₁ norm (and thus, it converges to a unique fixed solution) if the norm of the i-th diagonal element of the matrix Σ⁻¹ is greater than all entries of its corresponding row.

We now assess the mean-squared-error (MSE) with the proposed receiver on a massive MU-MIMO uplink system where each RF port at the BS is equipped with limited-resolution ADCs. The AGC is chosen to minimize the mean-squared error (MSE) between the non-quantized received vector y and the quantized vector r.

On this basis, by assuming 3-, 4- and 6-bit resolution ADC, then, on average 10%, 2% and 0.25% of samples in the received vector r are clipped, respectively.

Finally, we assume that the entries of the channel matrix H are independent and

N(0,1)—distributed and define the average signal-to-noise ratio as

${SNR} = {\frac{\rho}{\sigma_{n}^{2}}.}$

First, in FIGS. 2A and 2B, we visualize the improvement of a clipping-aware MMSE (CA-MMSE) receivers on the average granular and overload distortion per sample. Recall that the CA-MMSE performs reconstruction only on the clipped samples while the granular samples are left unchanged, and thus, it does not give any improvement on the granular distortion. However, the CA-MMSE brings significant improvements on the overload distortion. For example, in the case of b=4 bits (FIG. 2A) and high signal-to-noise ratio (SNR) (i.e. 20 dB), it yields 83% less overload distortion compared to the quantization-unaware case (QU), where the quantized samples are not reconstructed. Indeed, when the resolution of the ADCs increases to b=6 bits (FIG. 2B), then the gain of the CA-MMSE on the overload distortion increases to 95%. The reason is that in an ADC with higher resolution, the granular distortion is lower and thus the CA-MMSE can reconstruct the clipped samples with higher precision. The latter result is of particular importance, since it implies that even a small percentage of clipped samples can result in significant overload distortion (Recall that when b=6 bits, the percentage of clipped samples is very low, i.e. 0.25%). Furthermore, notice that the overload distortion of the quantization-aware MMSE (QA-MMSE) (reconstructs both clipped samples and the ones that lie within the granular region) is similar to that of the CA-MMSE, which indicates the efficiency of the latter on the reconstruction of clipped samples.

Finally, notice that in the case of b=4 bits and high SNR, the QA-MMSE yields 37% lower granular distortion compared with the CA-MMSE, while when the resolution of ADCs increases to b=6 bits, as expected its granular gain is negligible. Even though, the QA-MMSE outperforms CA-MMSE on the granular distortion, it does not yield considerable improvements on the data estimation. The reason is that the overload distortion dominates the granular distortion per sample and thus it is more important to compensate for the overload distortion.

We now turn our attention to the convergence of iterative algorithm and confirm that it is sufficient to employ the CA-MMSE receiver 100 instead of the more computationally expensive QA-MMSE, i.e. ŷ=[

,

]=

{

,

,

,

}. In FIGS. 3A and 3B, the MSE of the estimated symbol X are shown as a function of the average SNR for different number of BS antennas and ADC resolution. More precisely, we compare, the CA-MMSE implemented by the iterative algorithm with the clipping-aware receiver based on Gibbs sampling (GS-AC-MMSE) and the QA-MMSE. We note that if b=4 bits (FIG. 3A), then the CA-MMSE converges to the GS-AC-MMSE after only 15 iterations. However, notice that the CA-MMSE converges to the GS-CA-MMSE faster when the number of BS antennas is relatively small. The reason is that in the case of N =16 the clipped samples to be estimated are considerably less than in the case of N=64. Thus, the less the number of BS antennas, the faster the iterative CA-MMSE receiver. Likewise, the convergence is faster when the number of bits in the ADC is higher. Thus, in the case of b=6 bits (FIG. 3B), the convergence happens already at 5 iterations.

Moreover, it is worth mentioning that after 15 iterations the CA-MMSE is almost identical to the optimal QA-MMSE receiver confirming that it is sufficient to employ the CA-MMSE and reconstruct only the clipped samples, while the ones that have not been clipped within the granular region of the quantizer can be left intact. This result is of particular importance, since it implies that we can achieve almost optimal performance by employing lower complexity receivers.

FIG. 4 is a flowchart illustrating a process 400 according to an embodiment. Process 400 may begin with step s402.

Step s402 comprises receiver 100 receiving a signal y.

Step s404 comprises receiver 100 sampling y, thereby producing a set of samples, and then quantizing each sample in the set of samples to produce a quantized received signal r, wherein quantizing each sample in the set of samples comprises clipping at least M of the samples, wherein M>0, such that r comprises M clipped samples.

Step s406 comprises receiver 100 obtaining information denoting the clipped and non-clipped samples. For example, obtaining a list of the clipped samples and/or the non-clipped samples.

Step s412 comprises receiver 100 using a probability density function of y and the information denoting the clipped and non-clipped samples to obtain the probability density function G(x) of the unknown samples in y that have been clipped given the received quantized vector r, where x=(x₁, . . . ,x_(M)), represents the unknown values before being clipped to the vector r_(c).

Step s414 comprises receiver 100 modifying r by, for each clipped sample value in r, replacing the clipped sample value with an expected value that corresponds to the clipped sample value, wherein the expected value is based on G(x), thereby producing a reconstructed received signal.

Process 400 may also include steps s408, s410, and s416. Step s408 and s410 comprise receiving training data and using the received training data to obtain the probability density function of y, respectively. Step s416 comprises decoding ŷ.

FIG. 5 is a flowchart illustrating a process 500 according to an embodiment for implementing step s414. Process 500 may begin with step s501.

Step s501 comprises initializing the expected values of the samples in y which have been clipped, i.e., μ⁽⁰⁾=(μ₁ ⁽⁰⁾, μ₂ ⁽⁰⁾, . . . μ_(M) ⁽⁰⁾. The initial values here equal their corresponding clipped values.

That is, in step s501 a first vector μ⁽⁰⁾ is initialized, wherein the first vector consists of the values μ₁ ⁽⁰⁾, μ₂ ⁽⁰⁾, μ₃ ⁽⁰⁾, . . . , μ_(M) ⁽⁰⁾.

Step s502 comprises defining the termination conditions δ and J.

Step s504 comprises setting j=1.

Step s506 comprises determining μ^((j)), which is a vector of expected values. determining μ^((j)) comprises calculating each element μ_(i) ^((j)) of the vector, for i=1 to M, wherein M is equal to the total number of clipped samples. That is determining μ^((j)) comprises calculating:

μ₁^((j)) = E(x₁❘μ₂^((j − 1)), μ₃^((j − 1)), … , μ_(M)^((j − 1))) μ₂^((j)) = E(x₂❘μ₁^((j)), μ₃^((j − 1)), … , μ_(M)^((j − 1))) ⋮ μ_(M)^((j)) = E(x_(M)❘μ₁^((j)), μ₂^((j)), … , μ_(M − 1)^((j))).

E(x₁|μ₂ ^((j−1)), μ₃ ^((j−1)), . . . ,μ_(M) ^((j−1)) is the expected value of the first clipped sample based on the p.d.f. G(x₁|x₂=μ₂ ^((j−1)), x₃=μ₃ ^((j−1))); E(x₂|μ₁ ^((j)_l , μ) ₃ ^((j−1)), . . . , μ_(M) ^((j−1)) is the expected value of the second clipped sample based on G(x₂|x₁=μ₁ ^((j)),x₃=μ₃ ^((j−1)), . . . x_(M)=μ_(M) ^((j−1))); . . . ; and E(x_(M)|μ₁ ^((j)), μ₃ ^((j)), . . . , μ_(M) ^((j))) is the expected value of the M-th clipped sample based on G(x_(M)|x₁=μ₁ ^((j)), x₂=μ₂ ^((j)), . . . x_(M−1)=μ_(M−1) ^((j))).

After μ^((j)) is determined, it is then determined in step s508 whether:

||μ^((j))−μ^((j−1))||<δ or j−J.

If ||μ^((j))−μ^((j−1))||<δ or j=j is true, then the process proceeds to step s510, otherwise the process proceeds to step s509, where j is incremented by one. After step s509, the process goes back to step s506.

Step s510 comprises setting ŷ_(c)=[μ₁ ^((j)), μ₂ ^((j)), . . . , μ_(M) ^((j))]. For example, as a result of determining that ||μ⁽¹⁾−μ⁽⁰⁾|| is less than δ the first clipped sample value in r is replaced with μ₁ ⁽¹⁾, the second clipped sample value in r is replaced with μ₂ ⁽¹⁾. . . . , and the M-th clipped sample value in r is replaced with μ_(M) ⁽¹⁾.

FIG. 6 is a block diagram of a receiver apparatus 600, according to some embodiments. Receiver apparatus 600 can be used to implement receiver 100. As shown in FIG. 6, receiver apparatus 600 may comprise: processing circuitry (PC) 602, which may include one or more processors (P) 655 (e.g., a general purpose microprocessor and/or one or more other processors, such as an application specific integrated circuit (ASIC), field-programmable gate arrays (FPGAs), and the like), which processors may be co-located in a single housing or in a single data center or may be geographically distributed (i.e., receiver apparatus 600 may be a distributed computing apparatus); a network interface 648 comprising a transmitter (Tx) 645 and a receiver (Rx) 647 for enabling apparatus 600 to transmit data to and receive data from other nodes connected to network 110 (e.g., an Internet Protocol (IP) network) to which network interface 648 is connected; and a local storage unit (a.k.a., “data storage system”) 608, which may include one or more non-volatile storage devices and/or one or more volatile storage devices. In embodiments where PC 602 includes a programmable processor, a computer program product (CPP) 641 may be provided. CPP 641 includes a computer readable medium (CRM) 642 storing a computer program (CP) 643 comprising computer readable instructions (CRI) 644. CRM 642 may be a non-transitory computer readable medium, such as, magnetic media (e.g., a hard disk), optical media, memory devices (e.g., random access memory, flash memory), and the like. In some embodiments, the CRI 644 of computer program 643 is configured such that when executed by PC 602, the CRI causes apparatus 600 to perform steps described herein (e.g., steps described herein with reference to the flow charts). In other embodiments, apparatus 600 may be configured to perform steps described herein without the need for code. That is, for example, PC 602 may consist merely of one or more ASICs. Hence, the features of the embodiments described herein may be implemented in hardware and/or software.

FIG. 7 is a schematic block diagram of the receiver apparatus 600 according to some other embodiments. The receiver apparatus 600 includes one or more modules 700, each of which is implemented in software. The module(s) 700 provide the functionality of apparatus 600 described herein (e.g., the steps described above, e.g., with respect to FIG. 4 and/or FIG. 5).

While various embodiments of the present disclosure are described herein, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of the present disclosure should not be limited by any of the above-described exemplary embodiments. Generally, all terms used herein are to be interpreted according to their ordinary meaning in the relevant technical field, unless a different meaning is clearly given and/or is implied from the context in which it is used. All references to a/an/the element, apparatus, component, means, step, etc. are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, step, etc., unless explicitly stated otherwise. Any combination of the above-described elements in all possible variations thereof is encompassed by the disclosure unless otherwise indicated herein or otherwise clearly contradicted by context.

Additionally, while the processes described above and illustrated in the drawings are shown as a sequence of steps, this was done solely for the sake of illustration. Accordingly, it is contemplated that some steps may be added, some steps may be omitted, the order of the steps may be re-arranged, and some steps may be performed in parallel. That is, the steps of any methods disclosed herein do not have to be performed in the exact order disclosed, unless a step is explicitly described as following or preceding another step and/or where it is implicit that a step must follow or precede another step. 

1. A method implemented by a receiver, the method comprising: receiving a signal y; sampling y, thereby producing a set of samples; quantizing each sample in the set of samples to produce a quantized received signal r, wherein quantizing each sample in the set of samples comprises clipping at least M of the samples, wherein M>0, such that r comprises M clipped samples; obtaining information denoting the clipped and non-clipped samples; using a probability density function of y and the information denoting the clipped and non-clipped samples to obtain a probability density function, G(x), of the unknown samples in y that have been clipped conditional on the quantized received vector r; and modifying r by, for each clipped sample value in r, replacing the clipped sample value with an expected value that corresponds to the clipped sample value, wherein the expected value is based on G(x), thereby producing a reconstructed received signal.
 2. The method of claim 1, further comprising decoding the reconstructed received signal.
 3. The method of claim 1, further comprising receiving training data and using the received training data to obtain the probability density function of y.
 4. The method of any one of claim 1, further comprising determining the corresponding expected values.
 5. The method of claim 4, wherein determining the corresponding expected values comprises: initializing a first vector μ⁽⁰⁾, wherein μ⁽⁰⁾ is a vector consisting of the values μ₁ ⁽⁰⁾, μ₂ ⁽⁰⁾, μ₃ ⁽⁰⁾, . . . , μ_(M) ⁽⁰⁾; defining a first termination condition, δ, and a second termination condition, J; calculating a second vector μ⁽¹⁾ based on μ⁽⁰⁾ and G(x); and determining whether ||μ⁽¹⁾−μ⁽⁰⁾|| is less than δ or an index value, j, equals J.
 6. The method of claim 5, wherein calculating μ⁽¹⁾ based on μ⁽⁰⁾ and G(x) comprises: calculating μ₁ ⁽¹⁾=E(x₁|μ₂ ⁽⁰⁾,μ₃ ⁽⁰⁾, . . . , μ_(M) ⁽⁰⁾, wherein E(x₁|μ₂ ⁽⁰⁾, μ₃ ⁽⁰⁾, . . . , μ_(M) ⁽⁰⁾), is an expected value of the first clipped sample given μ₂ ⁽⁰⁾, μ₃ ⁽⁰⁾, . . . , μ_(M) ⁽⁰⁾ and G(x₁|x₂=μ₂ ⁽⁰⁾, x₃=μ₃ ⁽⁰⁾, . . . x_(M)=μ_(M) ⁽⁰⁾); and calculating μ₂ ^((1)=E(x) ₂|μ₁ ⁽⁰⁾, . . . , μ_(M) ⁽⁰⁾ and G(x₂|x₂=μ₂ ⁽⁰⁾, x₃=μ₃ ⁽⁰⁾, . . . x_(m)=μ_(M) ⁽⁰⁾); and calculating μ₂ ⁽¹⁾=E(x₂|μ₁ ⁽¹⁾, μ₃ ⁽⁰⁾, . . . , μ_(M) ⁽⁰⁾), wherein E(x₂|μ₁ ⁽¹⁾, μ₃ ⁽⁰⁾, . . . , μ_(M) ⁽⁰⁾is an expected value of the second clipped sample given μ₁ ⁽¹⁾, μ₂ ⁽⁰⁾, . . . , μ_(M) ⁽⁰⁾ and G(x₂|x₁=μ₁ ⁽¹⁾, x₃=μ₃ ⁽⁰⁾, . . . x_(M)=μ_(MHu (0).)
 7. The method of claim 6, wherein modifying r by replacing each clipped sample in r with its corresponding expected value comprises: as a result of determining that ||μ⁽¹⁾−μ⁽⁰⁾||is less than δ or j=J, replacing the first clipped sample value in r with μ₁ ⁽¹⁾ and replacing the second clipped sample value in r with μ₂ ⁽¹⁾.
 8. A receiver apparatus, the receiver apparatus being configured to: sample a received signal, y, thereby producing a set of samples; quantize each sample in the set of samples to produce a quantized received signal r, wherein quantizing each sample in the set of samples comprises clipping at least M of the samples, wherein M>0, such that r comprises M clipped samples; obtain information denoting the clipped and non-clipped samples; use a probability density function of y and the information denoting the clipped and non-clipped samples to obtain a probability density function, G(x), of the unknown samples in y that have been clipped conditional on the quantized received vector r; and modify r by, for each clipped sample value in r, replacing the clipped sample value with an expected value that corresponds to the clipped sample value, wherein the expected value is based on G(x), thereby producing a reconstructed received signal.
 9. The receiver apparatus of claim 8, further comprising decoding the reconstructed received signal.
 10. The receiver apparatus of claim 8, further comprising receiving training data and using the received training data to obtain the probability density function of y.
 11. The receiver apparatus of claim 8, further comprising determining the corresponding expected values.
 12. The receiver apparatus of claim 11, wherein determining the corresponding expected values comprises: initializing a first vector μ⁽⁰⁾, wherein μ⁽⁰⁾ is a vector consisting of the values μ₁ ⁽⁰⁾, μ₂ ⁽⁰⁾, μ₃ ⁽⁰⁾, . . . , μ_(M) ⁽⁰⁾; defining a first termination condition, δ, and a second termination condition, J; calculating a second vector μ⁽¹⁾ based on μ⁽⁰⁾ and G(x); and determining whether ||μ⁽¹⁾−μ⁽⁰⁾|| less than δ or an index value, j, equals J.
 13. The receiver apparatus of claim 12, wherein calculating μ⁽¹⁾ based on μ⁽⁰⁾ and G(x) comprises: calculating μ₁ ⁽¹⁾=E(x₁|μ₂ ⁽⁰⁾, . . . , μ_(M) ⁽⁰⁾), wherein E(x₁|μ₂ ⁽⁰⁾, μ₃ ⁽⁰⁾, . . . , μ_(M) ⁽⁰⁾) is an expected value of the first clipped sample give μ₂ ⁽⁰⁾, μ₃ ⁽⁰⁾, . . . , μ_(M) ⁽⁰⁾ and G(x₁|x₂=μ₂ ⁽⁰⁾, x₃=μ₃ ⁽⁰⁾, . . .x_(M)=μ_(M) ⁽⁰⁾); and calculating μ₂ ⁽¹⁾=E(x₂|μ₁ ⁽¹⁾, μ₃ ⁽⁰⁾, . . . , μ_(M) ⁽⁰⁾), wherein E(x₂|μ₁ ⁽¹⁾, μ₃ ⁽⁰⁾, . . . , μ_(M) ⁽⁰⁾) is an expected value of the second clipped sample given μ₁ ⁽¹⁾, μ₃ ⁽⁰⁾, . . . , μ_(M) ⁽⁰⁾ and G(x₂|x₁=μ₁ ⁽¹⁾, x₃=μ₃ ⁽⁰⁾, . . . x_(M)=μ_(M) ⁽⁰⁾).
 14. The receiver apparatus of claim 13, wherein modifying r by replacing each clipped sample in r with its corresponding expected value comprises: as a result of determining that ||μ⁽¹⁾−μ⁽⁰⁾||is less than δ or j=J, replacing the first clipped sample value in r with μ₁ ⁽¹⁾ and replacing the second clipped sample value in r with μ₂ ⁽¹⁾.
 15. A non-transitory computer readable medium storing a computer program comprising instructions which when executed by processing circuitry of a receiver apparatus causes the receiver apparatus to: sample a received signal, y, thereby producing a set of samples; quantize each sample in the set of samples to produce a quantized received signal r, wherein quantizing each sample in the set of samples comprises clipping at least M of the samples, wherein M>0, such that r comprises M clipped samples; obtain information denoting the clipped and non-clipped samples; use a probability density function of y and the information denoting the clipped and non-clipped samples to obtain a probability density function, G(x), of the unknown samples in y that have been clipped conditional on the quantized received vector r; and modify r by, for each clipped sample value in r, replacing the clipped sample value with an expected value that corresponds to the clipped sample value, wherein the expected value is based on G(x), thereby producing a reconstructed received signal.
 16. (canceled) 